/// 这种是底部sheet不会消失，但是可以滑动，有最小最大高度的，在comic被否了改成固定高度

// import 'dart:async';
// import 'dart:ui';
//
// import 'package:exposure/exposure.dart';
// import 'package:flutter/material.dart';
// import 'package:lemon_theme/interface/lemon_theme_extension.dart';
// import 'package:lemon_widgets/lemon_button.dart';
// import 'package:potatosoup/services/comic/model/detail_info_vo.dart';
// import 'package:potatosoup/services/comic/model/pre_read_model.dart';
// import 'package:potatosoup/ui/reader/reader_data_source_mixin.dart';
// import 'package:potatosoup/ui/reader/reader_payment/bloc/reader_payment_bloc.dart';
//
// import '../../reader_translante_map.dart';
// import '../bloc/reader_payment_event.dart';
//
// class ReaderPaymentPreReadView extends StatefulWidget {
//   final ReaderPaymentBloc bloc;
//
//   const ReaderPaymentPreReadView(this.bloc, {Key key}) : super(key: key);
//
//   @override
//   State<ReaderPaymentPreReadView> createState() => _ReaderPaymentPreReadViewState();
// }
//
// final double _preReadPanelHeight = window.physicalSize.height / window.devicePixelRatio * 0.9;
//
// const double _buyBtnContainerHeight = 100;
//
// class _ReaderPaymentPreReadViewState extends State<ReaderPaymentPreReadView>
//     with ReaderConvenientMixin {
//   StreamSubscription _preReadPaySuccessStreamSubscription;
//
//   @override
//   void initState() {
//     _preReadPaySuccessStreamSubscription = preReadStreamController.stream.listen((int event) async {
//       if (null != event && 1 == event) {
//         final res =
//         await dataSource?.fetchComicInfo(dataSource.currentComicId)?.catchError((_) => null);
//         if (null != res) _comicInfo = res;
//         widget.bloc.add(PreReadPayEvent());
//         _refresh();
//       }
//     });
//     _loadData();
//     super.initState();
//   }
//
//   @override
//   void dispose() {
//     _preReadPaySuccessStreamSubscription?.cancel();
//     super.dispose();
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     return Container(
//       height: _preReadPanelHeight,
//       child: MediaQuery.removePadding(
//         context: context,
//         removeTop: true,
//         removeBottom: true,
//         child: Stack(
//           children: [
//             Align(
//               alignment: Alignment.bottomCenter,
//               child: DraggableScrollableSheet(
//                 initialChildSize: 0.6,
//                 minChildSize: 0.6,
//                 maxChildSize: 1,
//                 expand: false,
//                 builder: (BuildContext context, ScrollController scrollController) {
//                   return Container(
//                     height: _preReadPanelHeight,
//                     padding: const EdgeInsets.only(bottom: _buyBtnContainerHeight),
//                     decoration: BoxDecoration(
//                       borderRadius: BorderRadius.circular(10),
//                       color: const Color(0xff1f253e),
//                     ),
//                     child: SingleChildScrollView(
//                       controller: scrollController,
//                       child: Column(
//                         mainAxisSize: MainAxisSize.max,
//                         children: [
//                           // todo: -----
//                           Container(
//                             color: Colors.yellow,
//                             height: 100,
//                             margin: const EdgeInsets.all(20),
//                           ),
//                           Container(
//                             color: Colors.yellow,
//                             height: 100,
//                             margin: const EdgeInsets.all(20),
//                           ),
//                           Container(
//                             color: Colors.yellow,
//                             height: 100,
//                             margin: const EdgeInsets.all(20),
//                           ),
//                           Container(
//                             color: Colors.yellow,
//                             height: 100,
//                             margin: const EdgeInsets.all(20),
//                           ),
//                           Container(
//                             color: Colors.yellow,
//                             height: 100,
//                             margin: const EdgeInsets.all(20),
//                           ),
//                           Container(
//                             color: Colors.yellow,
//                             height: 100,
//                             margin: const EdgeInsets.all(20),
//                           ),
//                           Container(
//                             color: Colors.yellow,
//                             height: 100,
//                             margin: const EdgeInsets.all(20),
//                           ),
//                           Container(
//                             color: Colors.yellow,
//                             height: 100,
//                             margin: const EdgeInsets.all(20),
//                           ),
//                         ],
//                       ),
//                     ),
//                   );
//                 },
//               ),
//             ),
//             Align(
//               alignment: Alignment.bottomCenter,
//               child: Container(
//                 height: 44,
//                 alignment: Alignment.center,
//                 margin: const EdgeInsets.only(left: 20, right: 20, bottom: 40),
//                 child: ExposureChild(
//                   onlyOnce: true,
//                   uniqueKey: "buy_pre_read_ep_btn",
//                   onExposure: () {
//                     // todo: ---track 抢先看权益点击button曝光
//                   },
//                   child: LemonButton(
//                     height: 44,
//                     minWidth: 335,
//                     maxWidth: 335,
//                     normalColor: context.colorTheme.orangeFFFF9D11,
//                     content: (context) {
//                       return Text(_hasBuy ? upgrade_pre_read_btn : buy_pre_read_btn);
//                     },
//                     onTap: () {
//                       // todo: -----track 抢先看权益点击button点击
//                       _go2BuyPreReadEp();
//                     },
//                   ),
//                 ),
//               ),
//             ),
//           ],
//         ),
//       ),
//     );
//   }
//
//   DetailInfoViewModel _comicInfo;
//
//   bool get _hasBuy {
//     return _comicInfo?.preReadIsUpgrade ?? false;
//   }
//
//   Future<void> _loadData() async {
//     await Future.delayed(Duration(milliseconds: 200));
//     if (null != dataSource) {
//       var comicInfo =
//       await dataSource.fetchComicInfo(dataSource.currentComicId).catchError((_) => null);
//       comicInfo ??= await dataSource
//           .fetchComicInfo(dataSource.currentComicId, refresh: true)
//           .catchError((_) => null);
//       if (null != comicInfo) {
//         _comicInfo = comicInfo;
//       }
//     }
//     _comicInfo ??= widget.bloc.viewModel.comicInfo;
//     _refresh();
//   }
//
//   void _refresh() {
//     if (mounted) setState(() {});
//   }
//
//   void _go2BuyPreReadEp() {
//     if (null == _comicInfo) return;
//     if (true == _comicInfo?.preReadIsHighestTier) return;
//     preReadDataUtil.go2buyPreReadEp(
//       context: context,
//       comicId: _comicInfo.comicInfo.id ?? 0,
//       comicName: _comicInfo.comicInfo.title ?? "",
//       epNum: _comicInfo.preReadEpNum ?? 0,
//       preMonthEpNum: _comicInfo.comicInfo?.prepay?.epNumPerMonth ?? 0,
//       isUpgrade: _comicInfo.preReadIsUpgrade,
//     );
//   }
// }
